#####################################################################################
# Dependency computation
#############################

$(MESSAGE_BASEDIR)/dep/%.d: $(MESSAGE_BASEDIR)/src/%.cpp $(BASEDIR)/Makefile $(MESSAGE_BASEDIR)/module.mk $(MESSAGE_BASEDIR)/rules.mk
	@echo 
	@echo "################################################################"
	@echo "# Generating $@"
	@echo "#########"
	@mkdir -p $(shell dirname $@)
	$(BASEDIR)/scripts/depend.sh `dirname $@`/debug $(MESSAGE_INCFLAGS) $< >$@
	$(BASEDIR)/scripts/depend.sh `dirname $@`/release $(MESSAGE_INCFLAGS) $< >>$@

#####################################################################################
# Object compilation
#############################
$(MESSAGE_BASEDIR)/obj/debug/%.o: $(MESSAGE_BASEDIR)/src/%.cpp $(BASEDIR)/Makefile $(MESSAGE_BASEDIR)/module.mk $(MESSAGE_BASEDIR)/rules.mk
	@echo 
	@echo "################################################################"
	@echo "# Generating $@"
	@echo "#########"
	@mkdir -p $(shell dirname $@)
	$(MESSAGE_CC) -c $(MESSAGE_DEBUG_CFLAGS) $< -o $@

$(MESSAGE_BASEDIR)/obj/release/%.o: $(MESSAGE_BASEDIR)/src/%.cpp $(BASEDIR)/Makefile $(MESSAGE_BASEDIR)/module.mk $(MESSAGE_BASEDIR)/rules.mk
	@echo 
	@echo "################################################################"
	@echo "# Generating $@"
	@echo "#########"
	@mkdir -p $(shell dirname $@)
	$(MESSAGE_CC) -c $(MESSAGE_RELEASE_CFLAGS) $< -o $@

$(DEBUG_MESSAGE_ARCHIVE): $(MESSAGE_DEBUG_OBJS)
	@echo 
	@echo "################################################################"
	@echo "# Creating archive $@"
	@echo "#########"
	ar -rcv $@ $^ 

$(RELEASE_MESSAGE_ARCHIVE): $(MESSAGE_RELEASE_OBJS)
	@echo 
	@echo "################################################################"
	@echo "# Creating archive $@"
	@echo "#########"
	ar -rcv $@ $^ 

$(DEBUG_MESSAGE_LIB): $(MESSAGE_DEBUG_OBJS)
	@echo 
	@echo "################################################################"
	@echo "# Creating dynamic library $@"
	@echo "#########"
	$(MESSAGE_LD) -shared -o $@ $^ 

$(RELEASE_MESSAGE_LIB): $(MESSAGE_RELEASE_OBJS)
	@echo 
	@echo "################################################################"
	@echo "# Creating dynamic library $@"
	@echo "#########"
	$(MESSAGE_LD) -shared -o $@ $^ 
